﻿using System;
using System.Collections.Generic;

namespace Meqs.Entity
{
    [Serializable]
	public class MoralityHistory
	{
		public MoralityHistory()
		{
			m_RID = 0;

		}

		#region RID
		
		private int m_RID;
		
		public int RID
		{
			get { return m_RID; }
			set { m_RID = value; }
		}
		
		#endregion
		
		#region SchoolYear
		
		private int? m_SchoolYear;
		
		public int? SchoolYear
		{
			get { return m_SchoolYear; }
			set { m_SchoolYear = value; }
		}
		
		#endregion
		
		#region Term
		
		private int? m_Term;
		
		public int? Term
		{
			get { return m_Term; }
			set { m_Term = value; }
		}
		
		#endregion
		
		#region Status
		
		private int? m_Status;
		
		public int? Status
		{
			get { return m_Status; }
			set { m_Status = value; }
		}
		
		#endregion
		
		#region ManagerID
		
		private int? m_ManagerID;
		
		public int? ManagerID
		{
			get { return m_ManagerID; }
			set { m_ManagerID = value; }
		}
		
		#endregion
        #region KeyWord

        private string m_KeyWord;

        public string KeyWord
        {
            get { return m_KeyWord; }
            set { m_KeyWord = value; }
        }

        #endregion
        #region Attribute

        private int? m_Attribute;

        public int? Attribute
        {
            get { return m_Attribute; }
            set { m_Attribute = value; }
        }

        #endregion
        #region SchoolMark

        private string schoolmark;

        public string SchoolMark
        {
            get { return schoolmark; }
            set { schoolmark = value; }
        }

        #endregion
        private String _Caption;
        public string Caption
        {
            get { return this._Caption; }
            set { this._Caption = value; }
        }

        private string _Site;

        public string Site
        {
            get { return this._Site; }
            set { this._Site = value; }
        }

        private int _EvalType;
        public int EvalType
        {
            get { return this._EvalType; }
            set { this._EvalType = value; }
        }

        #region 关键字
        /// <summary>
        /// 教师评价系统的标识
        /// </summary>
        public const string SystemSiteName = "Moral";
        /// <summary>
        /// 学生日常行为规范 
        /// </summary>
        public const string Student_Month_Action = "Student_Month_Action";
        #endregion

		#region Rewrite Equals and HashCode
		
		/// <summary>
		/// 
		/// </summary>
		public override bool Equals(object obj)
		{
			if( this == obj ) return true;
			if( ( obj == null ) || ( obj.GetType() != GetType() ) ) return false;
			MoralityHistory castObj = (MoralityHistory) obj;
			return ( castObj != null )
 && m_RID == castObj.RID;		}
		
		/// <summary>
		/// 用唯一值实现GetHashCode
		/// </summary>
		public override int GetHashCode()
		{
			int hash = 22;
			hash = hash * 22
 * m_RID.GetHashCode();			return hash;
		}
		
		#endregion
		
		
	}



    [Serializable]
    public class MoralityHistoryView : MoralityHistory
    {

        private int m_EvalType = -1;
        /// <summary>
        /// 评价类别 1:评学生 2:评班级
        /// </summary>
        public int EvalType
        {
            get { return m_EvalType; }
            set { m_EvalType = value; }
        }
    }

    [Serializable]
    public class StuCasueHistoryView : MoralityHistory
    {

        private int m_EvalType = -1;
        /// <summary>
        /// 评价类别 1:评学生 2:评班级 3:评老师
        /// </summary>
        public int EvalType
        {
            get { return m_EvalType; }
            set { m_EvalType = value; }
        }
    }
}